package com.example.aidlclient

import android.os.MemoryFile


class DesFile {
    //MainActivity.kt
    private fun sendLargeData() {

        try {
            /**
             * 读取assets目录下文件
             */
            val inputStream = assets.open("large.jpg")

            /**
             * 将inputStream转换成字节数组
             */
            val byteArray=inputStream.readBytes()

            /**
             * 创建MemoryFile
             */
            val memoryFile= MemoryFile("image", byteArray.size)

            /**
             * 向MemoryFile中写入字节数组
             */
            memoryFile.writeBytes(byteArray, 0, 0, byteArray.size)

            /**
             * 获取MemoryFile对应的FileDescriptor
             */
            val fd=MemoryFileUtils.getFileDescriptor(memoryFile)

            /**
             * 根据FileDescriptor创建ParcelFileDescriptor
             */
            val pfd= ParcelFileDescriptor.dup(fd)

            /**
             * 发送数据
             */
            mStub?.client2server(pfd)

        } catch (e: IOException) {
            e.printStackTrace()
        } catch (e: RemoteException) {
            e.printStackTrace()
        }
    }
}